/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.recption.entity;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;
import com.thinkgem.jeesite.modules.sys.entity.Office;

/**
 * 收货报告Entity
 * @author zxl
 * @version 2017-08-04
 */
public class RecptionReport extends DataEntity<RecptionReport> {
	
	private static final long serialVersionUID = 1L;
	private String logisticsNo;		// 物流单号
	private String winitOrderNo;		// winit订单号
	/*private String destinationWhCode;		// 目的仓*/
	private Office office;			// 仓库名称
	private String officeName;
	private String tuopanQty;		// 预计托盘数
	private String actuTuopanQty;		// 实际托盘数
	private String packageQty;		// 计划包裹数
	private String actuPackageQty;		// 实际包裹数
	private String volue;		// 体积
	private String spendTime;		// 预计生产时间
	private String actuSpendTime;		// 实际生产时间
	private String exceptTime;		// 异常工时
	private String eventPlan;		// 事件规划
	private Date entryWarhousnameTime;		// 预计进仓时间
	private Date actuEntryWarhousenameTime;		// 确认到仓时间
	private String winitProductName;
	private String isFilerRecption;//是否过滤未确认到仓记录
	public RecptionReport() {
		super();
	}

	public RecptionReport(String id){
		super(id);
	}

	@Length(min=0, max=255, message="WINIT产品长度必须介于 0 和 255 之间")
	@ExcelField(title="winit产品", align=2, sort=33)
	public String getWinitProductName() {
		return winitProductName;
	}

	public void setWinitProductName(String winitProductName) {
		this.winitProductName = winitProductName;
	}


	@Length(min=0, max=100, message="物流单号长度必须介于 0 和 100 之间")
	@ExcelField(title = "物流单号", sort=10)
	public String getLogisticsNo() {
		return logisticsNo;
	}

	public void setLogisticsNo(String logisticsNo) {
		this.logisticsNo = logisticsNo;
	}
	@ExcelField(title = "winit订单号", sort=21)
	@Length(min=0, max=255, message="winit订单号长度必须介于 0 和 255 之间")
	public String getWinitOrderNo() {
		return winitOrderNo;
	}

	public void setWinitOrderNo(String winitOrderNo) {
		this.winitOrderNo = winitOrderNo;
	}

	@ExcelField(title = "仓库名称", sort=32)
	public String getOfficeName() {
		return officeName;
	}
	public void setOfficeName(String officeName) {
		this.officeName = officeName;
	}

/*
	@Length(min=0, max=255, message="目的仓长度必须介于 0 和 255 之间")
	public String getDestinationWhCode() {
		return destinationWhCode;
	}

	public void setDestinationWhCode(String destinationWhCode) {
		this.destinationWhCode = destinationWhCode;
	}*/
	@ExcelField(title = "仓库", sort=32)
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}

	@ExcelField(title = "预计托盘数", sort=43)
	@Length(min=1, max=11, message="预计托盘数不能为空")
	public String getTuopanQty() {
		return tuopanQty;
	}

	public void setTuopanQty(String tuopanQty) {
		this.tuopanQty = tuopanQty;
	}
	@ExcelField(title = "实际托盘数", sort=54)
	@Length(min=1, max=11, message="实际托盘数不能为空")
	public String getActuTuopanQty() {
		return actuTuopanQty;
	}

	public void setActuTuopanQty(String actuTuopanQty) {
		this.actuTuopanQty = actuTuopanQty;
	}
	@ExcelField(title = "计划包裹数", sort=65)
	@Length(min=0, max=11, message="计划包裹数不能为空")
	public String getPackageQty() {
		return packageQty;
	}

	public void setPackageQty(String packageQty) {
		this.packageQty = packageQty;
	}
	@ExcelField(title = "实际包裹数", sort=76)
	@Length(min=1, max=11, message="实际包裹数不能为空")
	public String getActuPackageQty() {
		return actuPackageQty;
	}

	public void setActuPackageQty(String actuPackageQty) {
		this.actuPackageQty = actuPackageQty;
	}
	@ExcelField(title = "总体积", sort=87)
	@Length(min=1, max=11, message="总体积不能为空")
	public String getVolue() {
		return volue;
	}

	public void setVolue(String volue) {
		this.volue = volue;
	}
	@ExcelField(title = "预计生产工时", sort=98)
	@Length(min=1, max=11, message="预计生产工时不能为空")
	public String getSpendTime() {
		return spendTime;
	}

	public void setSpendTime(String spendTime) {
		this.spendTime = spendTime;
	}
	@ExcelField(title = "实际生产工时", sort=109)
	@Length(min=1, max=11, message="实际生产工时不能为空")
	public String getActuSpendTime() {
		return actuSpendTime;
	}

	public void setActuSpendTime(String actuSpendTime) {
		this.actuSpendTime = actuSpendTime;
	}
	@ExcelField(title = "异常工时", sort=110)
	@Length(min=1, max=11, message="异常工时不能为空")
	public String getExceptTime() {
		return exceptTime;
	}

	public void setExceptTime(String exceptTime) {
		this.exceptTime = exceptTime;
	}
	@ExcelField(title = "事件规划", sort=121)

	@Length(min=0, max=255, message="事件规划长度必须介于 0 和 255 之间")
	public String getEventPlan() {
		return eventPlan;
	}

	public void setEventPlan(String eventPlan) {
		this.eventPlan = eventPlan;
	}
	@ExcelField(title = "预计入仓时间", sort=132)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getEntryWarhousnameTime() {
		return entryWarhousnameTime;
	}

	public void setEntryWarhousnameTime(Date entryWarhousnameTime) {
		this.entryWarhousnameTime = entryWarhousnameTime;
	}
	@ExcelField(title = "实际入仓时间", sort=143)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getActuEntryWarhousenameTime() {
		return actuEntryWarhousenameTime;
	}

	public void setActuEntryWarhousenameTime(Date actuEntryWarhousenameTime) {
		this.actuEntryWarhousenameTime = actuEntryWarhousenameTime;
	}

	public String getIsFilerRecption() {
		return isFilerRecption;
	}

	public void setIsFilerRecption(String isFilerRecption) {
		this.isFilerRecption = isFilerRecption;
	}
}